package com.dragon.modules.yuegou.entity.pay;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.pay.RefundRecordStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 退款记录表实体类<br>
 * 对应的表为：pay_refund_record<br>
 * 
 * @author pbuilder generated
 * @date 2019-03-18 16:40:41
 * @company sgy
 * @version 2.0
 */
@TableName("pay_refund_record")
@ApiModel(description = "退款记录表")
public class RefundRecordEntity {

    /**  */
	protected String id;

    /** 支付id */
	@ApiModelProperty("支付id")
	protected String payId;

    /** 商户订单号 */
	@ApiModelProperty("商户订单号")
	protected String orderNo;

    /** 退款单号 */
	@ApiModelProperty("退款单号")
	protected String refundNo;

    /** 退款金额 */
	@ApiModelProperty("退款金额")
	protected BigDecimal refundFee;

    /** 【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS */
	@ApiModelProperty("【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS")
	protected Integer type;

    /** [枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND */
	@ApiModelProperty("[枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND")
	protected RefundRecordStatus status;

    /**  */
	protected LocalDateTime createdTime;

    /**  */
	protected LocalDateTime modifiedTime;

    /** 结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE */
	@ApiModelProperty("结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE")
	protected Integer results;

    /**  */
	protected Integer version;

	/**
	 * 构造一个空退款记录表实体对象
	 */
	public RefundRecordEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个退款记录表实体对象
	 * 
	 * @param other 其它对象
	 */
	public RefundRecordEntity(RefundRecordEntity other){
		super();
     	this.id = other.id;
     	this.payId = other.payId;
     	this.orderNo = other.orderNo;
     	this.refundNo = other.refundNo;
     	this.refundFee = other.refundFee;
     	this.type = other.type;
     	this.status = other.status;
     	this.createdTime = other.createdTime;
     	this.modifiedTime = other.modifiedTime;
     	this.results = other.results;
     	this.version = other.version;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取支付id
	 * 
	 * @return payId 支付id
	 */
	public String getPayId() {
		return payId;
	}
  	
	/**
	 * 设置支付id
	 * 
	 * @param payId 支付id
	 */
	public void setPayId(String payId) {
		this.payId = payId;
	}

	/**
	 * 获取商户订单号
	 * 
	 * @return orderNo 商户订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置商户订单号
	 * 
	 * @param orderNo 商户订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取退款单号
	 * 
	 * @return refundNo 退款单号
	 */
	public String getRefundNo() {
		return refundNo;
	}
  	
	/**
	 * 设置退款单号
	 * 
	 * @param refundNo 退款单号
	 */
	public void setRefundNo(String refundNo) {
		this.refundNo = refundNo;
	}

	/**
	 * 获取退款金额
	 * 
	 * @return refundFee 退款金额
	 */
	public BigDecimal getRefundFee() {
		return refundFee;
	}
  	
	/**
	 * 设置退款金额
	 * 
	 * @param refundFee 退款金额
	 */
	public void setRefundFee(BigDecimal refundFee) {
		this.refundFee = refundFee;
	}

	/**
	 * 获取【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS
	 * 
	 * @return type 【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS
	 */
	public Integer getType() {
		return type;
	}
  	
	/**
	 * 设置【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS
	 * 
	 * @param type 【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS
	 */
	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * 获取[枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND
	 * 
	 * @return status [枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND
	 */
	public RefundRecordStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND
	 * 
	 * @param status [枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND
	 */
	public void setStatus(RefundRecordStatus status) {
		this.status = status;
	}

	/**
	 * 获取
	 * 
	 * @return createdTime 
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param createdTime 
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedTime 
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedTime 
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE
	 * 
	 * @return results 结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE
	 */
	public Integer getResults() {
		return results;
	}
  	
	/**
	 * 设置结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE
	 * 
	 * @param results 结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE
	 */
	public void setResults(Integer results) {
		this.results = results;
	}

	/**
	 * 获取
	 * 
	 * @return version 
	 */
	public Integer getVersion() {
		return version;
	}
  	
	/**
	 * 设置
	 * 
	 * @param version 
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

    public String toString() {
		return new StringBuilder().append("RefundRecordEntity{").
			append("id=").append(id).
			append(",payId=").append(payId).
			append(",orderNo=").append(orderNo).
			append(",refundNo=").append(refundNo).
			append(",refundFee=").append(refundFee).
			append(",type=").append(type).
			append(",status=").append(status).
			append(",createdTime=").append(createdTime).
			append(",modifiedTime=").append(modifiedTime).
			append(",results=").append(results).
			append(",version=").append(version).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public RefundRecordEntity copy() {
		return new RefundRecordEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 支付id */
	public static final String COL_PAY_ID = "pay_id";

    /** 商户订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** 退款单号 */
	public static final String COL_REFUND_NO = "refund_no";

    /** 退款金额 */
	public static final String COL_REFUND_FEE = "refund_fee";

    /** 【枚举】退款类型：0-微信-WEICHANT、 1-支付宝-ALIPAY、 2-悦卡-YUECARD、 3-悦币-YUECOIN、4-积分-POINTS */
	public static final String COL_TYPE = "type";

    /** [枚举]状态：0-部分退款-PART_REFUND、1-全部退款-ALL_REFUND */
	public static final String COL_STATUS = "status";

    /**  */
	public static final String COL_CREATED_TIME = "created_time";

    /**  */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** 结果：0-申请中-APPLY、1-退款成功-SUCCESS、1-退款失败-FAILURE */
	public static final String COL_RESULTS = "results";

    /**  */
	public static final String COL_VERSION = "version";
}
